En
matemáticas,
lógica, y las
ciencias computacionales, un
lenguaje formal es un
conjunto de palabras (
cadenas de caracteres) de longitud finita formadas a partir de un
alfabeto (conjunto de caracteres) finito.
Informalmente, el término
lenguaje formal se utiliza en muchos contextos (en las ciencias, en derecho, etc.) para referirse a un modo de expresión más cuidadoso y preciso que el habla cotidiana. Hasta finales de la década de 1990, el consenso general era que un lenguaje
formal, en el sentido que trata este artículo, era en cierto modo la versión «límite» de este uso antes mencionado: un
lenguaje tan formalizado que podía ser usado en forma escrita para describir métodos computacionales. Sin embargo, hoy en día, el punto de vista de que la naturaleza esencial de los
lenguajes naturales (sin importar su grado de «formalidad» en el sentido informal antes descrito) difiere de manera importante de aquella de los verdaderos
lenguajes formales (en el sentido estricto de este artículo) gana cada vez más adeptos.